/**
 * Description:
 * Class Name:Triangle
 * Date:2022/1/30 9:37
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第6章_面向对象_下._6_5_抽象类;

public class Triangle extends Shape{
    // 定义一个三角形三边的边长
    private double a;
    private double b;
    private double c;
    public Triangle(String color, double a, double b , double c){
        super(color);
        this.setSides(a, b, c);
    }
    // 检测输入的三边边长合法性，若合法，则赋值，不合法则告诉为何不合法
    public void setSides(double a, double b, double c){
        if (a >= b + c || b >= a + c || c >= a + b){
            System.out.println("三角形的任意两边之和须大于第三边！");
            return;
        }
        this.a = a;
        this.b = b;
        this.c = c;
    }

    // 重写Shape类的计算周长的抽象方法
    public double calPerimeter(){
        return a + b + c;
    }

    // 重写Shape类的返回形状的抽象方法
    public String getType(){
        return "三角形——Triangle";
    }
}
